Search


📜 [專欄新文章] 使用 ethdock 開發以太坊智能合約應用
✍️ Pe...

  • Share this:


📜 [專欄新文章] 使用 ethdock 開發以太坊智能合約應用
✍️ Peter Lai
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
前言

相信不少人在開發以太坊智能合約的時候都跟我一樣

不想使用瀏覽器版本的編輯環境 Remix 作為開發環境

而是想使用本機的環境再加上自動測試腳本

那這時遇到最大的問題就是環境的架設

如何架設測試 VM 或是私有鏈(要依照熟悉的語言做選擇)

這邊我們介紹使用 docker 容器以及 ethdock 來開發以太坊智能合約應用

讓我們只需要一行指令就可以快速開啟必要的容器

ethdock 以 javascript 和 solidity 為主,如果不是使用這個為主要開發語言可以先左轉

ethdock

ethdock 的命名源自於 ethereum + docker

最初開發是因為平常在公司的電腦跟個人開發的電腦環境不同

這樣要建立兩邊的開發環境會花費不少時間

剛好平時有在使用 docker 所以就建立了 ethdock

讓我可以只要裝 docker 兩邊就有相同的開發環境

服務

ethdock 裡面主要有以下三個開發需要用到的服務

開發的時候需要 workspace 服務和測試鏈服務(testrpc 或是 geth)

workspace
建立開發的工作環境的容器,容器裝了 truffle 可以使用自動測試

testrpc
javascript 測試 VM,每筆交易可以快速回饋這樣減少很多開發時間

geth
建置測試的私有鏈,每筆交易要經過礦工的驗證並記錄,會多增加一些開發時間

開發智能合約

使用 ethdock 開發前要建置並運行容器

testrpc

docker-compose up -d workspace testrpc

進入 workspace 容器,並執行 bash

docker-compose exec workspace bash

調整 truffle.js,就可以使用命令列的方式進行測試以及部署

development: { host: ‘testrpc’, port: 8545, network_id: ‘*’}

truffle test

geth

docker-compose up -d workspace geth

進入 workspace 容器,並執行 bash

docker-compose exec workspace bash

調整 truffle.js 的網路位置,就可以使用命令列的方式進行測試以及部署

development: { from: ‘address’ host: ‘geth’, port: 8545, network_id: ‘*’}

truffle test

使用 geth 作為私有鏈時開發要注意設置 from

結論

ethdock 使用方式非常簡單

讓我們可以迅速在不同的電腦中建立起一樣的開發環境

就不用擔心建立開發環境的方法太複雜

或是不同電腦因為開發環境的關係而影響程式的運作

參考

docker docs

ethdock github

使用 ethdock 開發以太坊智能合約應用 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.

👏 歡迎轉載分享鼓掌


Tags:

About author
not provided
We have regular meeting twice per month on discussing blockchain technology, smart contracts and DApps development! We would love to have you join us!
View all posts